<?php

namespace qgauth\datascope;
use Yii;

/**
 * 原来框架中ActiveRecord类封装的find方法直接返回了query类
 * 这里需要返回改造过的QueryAdapter，所有增加这个实体，引入
 * baseModel中，有需要的时候用dataScopeFind代替find方法获取
 * query类
 */
trait QueryAdapterFactory
{
    /**
     * 获取query类
     * @return object
     * @throws yii\base\InvalidConfigException
     */
    public static function dataScopeFind()
    {
        //利用适配器为query类追加获取数据权限的函数，让此函数可以加入where的链式操作中
        return Yii::createObject(QueryAdapter::className(), [get_called_class()]);
    }
}